package com.zzyl.elder.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zzyl.common.annotation.Excel;
import com.zzyl.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 合同对象 contract
 *
 * @author ruoyi
 * @date 2024-06-24
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "Contract", description = "合同")
public class Contract extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 合同名称 */
    @ApiModelProperty("合同名称")
    @Excel(name = "合同名称")
    private String name;

    /** 合同编号 */
    @ApiModelProperty("合同编号")
    @Excel(name = "合同编号")
    private String contractNo;

    /** 协议地址 */
    @ApiModelProperty("协议地址")
    @Excel(name = "协议地址")
    private String pdfUrl;

    /** 丙方手机号 */
    @ApiModelProperty("丙方手机号")
    @Excel(name = "丙方手机号")
    private String memberPhone;

    /** 老人id */
    @ApiModelProperty("老人id")
    @Excel(name = "老人id")
    private Long elderId;

    /** 老人姓名 */
    @ApiModelProperty("老人姓名")
    @Excel(name = "老人姓名")
    private String elderName;

    /** 丙方名称 */
    @ApiModelProperty("丙方名称")
    @Excel(name = "丙方名称")
    private String memberName;

    /** 开始时间 */
    @ApiModelProperty("开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 结束时间 */
    @ApiModelProperty("结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 状态，0：未生效，1：已生效，2：已过期, 3：已失效 */
    @ApiModelProperty("状态，0：未生效，1：已生效，2：已过期, 3：已失效")
    @Excel(name = "状态，0：未生效，1：已生效，2：已过期, 3：已失效")
    private Integer status;

    /** 排序字段 */
    @ApiModelProperty("排序字段")
    @Excel(name = "排序字段")
    private Long sort;

    /** 级别描述 */
    @ApiModelProperty("级别描述")
    @Excel(name = "级别描述")
    private String levelDesc;

    /** 入住单号 */
    @ApiModelProperty("入住单号")
    @Excel(name = "入住单号")
    private String checkInNo;

    /** 签约日期 */
    @ApiModelProperty("签约日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签约日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date signDate;

    /** 解除提交人 */
    @ApiModelProperty("解除提交人")
    @Excel(name = "解除提交人")
    private String releaseSubmitter;

    /** 解除日期 */
    @ApiModelProperty("解除日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "解除日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date releaseDate;

    /** 解除协议url */
    @ApiModelProperty("解除协议url")
    @Excel(name = "解除协议url")
    private String releasePdfUrl;


}
